// Learn cc.Class:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/class.html
//  - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/class.html
// Learn Attribute:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html
//  - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html
//  - [English] http://www.cocos2d-x.org/docs/creator/en/scripting/life-cycle-callbacks.html

cc.Class({
    extends: cc.Component,

    properties: {
        // foo: {
        //     // ATTRIBUTES:
        //     default: null,        // The default value will be used only when the component attaching
        //                           // to a node for the first time
        //     type: cc.SpriteFrame, // optional, default is typeof default
        //     serializable: true,   // optional, default is true
        // },
        // bar: {
        //     get () {
        //         return this._bar;
        //     },
        //     set (value) {
        //         this._bar = value;
        //     }
        // },
        sheep:{
            default:null,
            type:cc.Node
        },
     

    },

    // LIFE-CYCLE CALLBACKS:

     onLoad:function () {

        this.turnRight();
        console.log('turn left ');

        cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN,this.onKeyDown,this);
     },

     onDestroy:function()
     {
         cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN,this.onKeyDown,this);
     },

   
    turnLeft:function(){
        this.speed=-100;

        this.sheep.scaleX=1;
    },

    turnRight:function(){
        this.speed=100;

        this.sheep.scaleX=-1;
    },
     update :function(dt) {

        this.sheep.x+=this.speed*dt;
     },

     onKeyDown:function(event){
         switch(event.keyCode){
             case cc.KEY.a:
             case cc.KEY.left:
             
                    console.log('turn left ');

                    this.turnLeft();
                    break;

             case cc.KEY.d:
             case cc.KEY.right:
                 console.log('turn right');
                this.turnRight();
                break;
         }
     }
});
